A conventional event processing system attempts to match a requested event within a stream of events. The stream may comprise hundreds of thousands to millions of events output in realtime. For example, in a stream of stock prices, a stock symbol (e.g., IBM) and a corresponding price (e.g., $40.00/share) are event predicates which comprise the event, i.e., a change in the price of the stock. The conventional system describes efficient algorithms for matching the requested event when it comprises equals predicates, i.e., Symbol=IBM and Price=40.00. However, the system has a significant failing in processing matches for not-equals predicates, i.e., Symbol!=IBM, because the system utilizes the same approach to processing matches for equals and not-equals predicates. However, while processing events is a one-to-one mapping for the equals predicates, matching the not-equals predicates requires resolution of any arbitrary value from the stream. Processing the not-equals predicates would require comparisons to each of the equals predicates to check for a match, which eliminates the efficiency of a one-to-one mapping as in processing of the equals predicates. Thus, there is a need for an efficient method for processing requested events which comprise both equals and not-equals predicates.